1. Field
Embodiments of the invention relate to simultaneous download (e.g., of firmware or software) from a source to multiple targets.
2. Description of the Related Art
An enterprise may be described as a large entity (e.g., a corporation, government entity, etc.) that uses computers. An enterprise class storage system may be described as a storage system that is designed for high performance and high availability and that is primarily used by larger corporations to store data. Non-disruptive maintenance for enterprise class storage systems enables achievement of availability higher than 99.99%. In particular, it is desirable for enterprise class storage systems to provide availability at least at 99.995%. Non-disruptive maintenance for many enterprise class storage systems also includes firmware upgrades for devices on the enterprise class storage systems. Non-disruptive operation requires redundant devices to survive failures and non-disruptive maintenance requires increasing the reliability of the upgrade and minimizing the time to upgrade firmware on redundant devices.
To support redundancy, some devices mirror other devices in the enterprise class storage system, and these mirrored devices may share responsibility and control over certain resources. Each of the mirrored devices should have a same level of firmware. In conventional enterprise class storage systems, there are separate device communication mediums (or “paths”) to each device such that each device can receive a separate update of the same firmware.
FIG. 1 illustrates a prior art system for downloading firmware to multiple target devices. In FIG. 1, an initiating device 100 downloads firmware over device communication mediums 140, 150, 160 to Target Device A 110, Target Device B 120, and Target Device C 130, respectively. To download firmware, the initiating device 100 downloads the firmware over a device communication medium connecting the initiating device 100 to a target device that is to be updated with firmware. Then, the target device firmware is updated with the firmware. When there are multiple target devices 110, 120, 130, firmware is downloaded to one target device at a time on the device communication medium 140, 150, 160 being used. Even if the initiating device 100 is downloading firmware to multiple target devices, a separate device communication medium 140, 150, 160 is used for each target device. In some cases of downloading firmware to target devices, another device (other than the initiating device 100) may initiate and control the update.
Thus, the traditional technique is to perform firmware upgrades serially (i.e., by downloading the firmware to one device at a time). This approach has the potential to reduce overall reliability and availability of the enterprise class storage system owing to potential for errors leading to mismatching firmware on redundant devices and total upgrade time being proportional to the number of redundant devices, with any enterprise class storage system fault in this time having the potential for increasing enterprise class storage system downtime (e.g., in an enterprise class storage system with a redundant pair of devices, firmware upgrade takes two times (2×) the time to upgrade one device).
Thus, there is a need in the art for improved simultaneous download of firmware to multiple target devices.